Automatic transmissions and methods therefor

ABSTRACT

Systems and methods for controlling transmissions and associated vehicles, machines, equipment, etc., are disclosed. In one case, a transmission control system includes a control unit configured to use a sensed vehicle speed and a commanded, target constant input speed to maintain an input speed substantially constant. The system includes one or more maps that associate a speed ratio of a transmission with a vehicle speed. In one embodiment, one such map associates an encoder position with a vehicle speed. Regarding a specific application, an automatic bicycle transmission shifting system is contemplated. An exemplary automatic bicycle includes a control unit, a shift actuator, various sensors, and a user interface. The control unit is configured to cooperate with a logic module and an actuator controller to control the cadence of a rider. In one embodiment, a memory of, or in communication with, the control unit includes one or more constant cadence maps that associate transmission speed ratios with bicycle speeds.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 15/012,420, filed Feb. 1, 2016 and scheduled to issue as U.S. Pat. No. 9,739,375 on Aug. 22, 2017, which is a continuation of U.S. patent application Ser. No. 14/147,026, filed Jan. 3, 2014 and issued Feb. 2, 2016 as U.S. Pat. No. 9,249,880, which is a continuation of U.S. patent application Ser. No. 13/681,792, filed Nov. 20, 2012 and issued on Jan. 7, 2014 as U.S. Pat. No. 8,626,409, which is a continuation of U.S. patent application Ser. No. 12/335,810, filed Dec. 16, 2008 and issued on Nov. 27, 2012 as U.S. Pat. No. 8,321,097, which claims the benefit of U.S. Provisional Patent Application No. 61/016,305, filed on Dec. 21, 2007. Each of the above-identified applications is hereby incorporated by reference in its entirety.

BACKGROUND OF THE INVENTION Field of the Invention

The present invention relates generally to mechanical transmissions, and more specifically to automatic transmissions and methods of controlling said transmissions.

Related Technology

Automatic transmissions are found in a variety of machines. However, in certain fields manual operation of the transmission is still prevalent. For example, in the bicycle industry, most bicycles are configured for manual operation of the transmission, which generally involves manually actuating levers, cables, and linkages to cause a chain to move from one rear sprocket to another. However, an ongoing need has been manifested for systems and corresponding methods to facilitate the automatic control of the transmission of a bicycle.

Inventive embodiments disclosed here address this need, among others, by providing systems for, and methods of, automatically controlling transmissions, which systems and methods in some cases are particularly suitable for human powered vehicles such as bicycles.

SUMMARY OF THE INVENTION

The systems and methods described herein have several features, no single one of which is solely responsible for the overall desirable attributes. Without limiting the scope as expressed by the claims that follow, the more prominent features of certain embodiments of the invention will now be discussed briefly. After considering this discussion, and particularly after reading the section entitled “Detailed Description of the Preferred Embodiments,” one will understand how the features of the systems and methods provide several advantages over related traditional systems and methods.

In one aspect the invention addresses a method of automatically controlling a ball-planetary transmission of a bicycle. The method involves receiving an input associated with a target user pedaling speed, determining a speed of the bicycle, and determining a target transmission ratio based at least in part on the target user pedaling speed and the determined speed of the bicycle. The method can also include adjusting a transmission ratio of the transmission to be substantially equal to the target transmission ratio.

In another aspect, the invention is directed to a method of automatically controlling a ball-planetary transmission of a bicycle. The method includes receiving an input associated with a target user pedaling speed, determining a speed of the bicycle, and based upon the target user pedaling speed and the determined speed of the bicycle, adjusting a speed ratio of the bicycle to maintain a user pedaling speed within a band of the target user pedaling speed.

Yet another aspect of the invention relates to a method of automatically controlling a ball-planetary transmission of a bicycle. The method involves providing an input associated with a target user pedaling speed, determining a speed of the bicycle, and identifying a target encoder position associated with the speed of the bicycle. The method can further include actuating a servo to achieve the target encoder position.

In one instance, the invention is concerned with a system for automatically shifting a ball-planetary bicycle transmission. The system includes a speed sensor configured to detect a speed of the bicycle, a processor configured to receive input from the speed sensor, and a data input interface configured to provide cadence data to the processor, said cadence data indicative of a desired, constant input pedaling speed. The system can additionally have a memory in communication with the processor, the memory having stored therein one or more maps correlating bicycle speeds with speed ratios. In one embodiment, the system includes a logic module in communication with the processor, the logic module configured to cooperate with the processor to determine from said maps a target speed ratio based on a bicycle speed and a desired, constant input pedaling speed. In some embodiments, the system has an actuator, in communication with the processor, the actuator configured to adjust a speed ratio of the transmission to be substantially equal to the determined target speed ratio.

Another aspect of the invention addresses a bicycle having a ball-planetary transmission and a system for automatically shifting the ball-planetary transmission. In one embodiment, the system has a speed sensor configured to detect a speed of the bicycle. The system has a processor configured to receive input from the speed sensor. In some embodiments, the system includes a data input interface configured to provide cadence data to the processor. The cadence data is indicative of a desired, constant input pedaling speed. The system can include a memory in communication with the processor. In one embodiment, the memory has stored therein one or more maps correlating bicycle speeds with speed ratios. The system includes a logic module in communication with the processor. The logic module is configured to cooperate with the processor to determine from the maps a target speed ratio based on a bicycle speed and a desired, constant input pedaling speed. The system can also include an actuator in communication with the processor. The actuator is configured to adjust a speed ratio of the transmission to be substantially equal to the determined target speed ratio.

Yet another aspect of the invention concerns an automatic shifting bicycle system having a ball-planetary transmission having a shift rod. In one embodiment, the system has an actuator operably coupled to the shift rod. The system includes a processor in communication with the actuator. The system also includes a memory in communication with the processor. In some embodiments, the memory has at least one table correlating a position of the actuator to the transmission ratio.

These and other improvements will become apparent to those skilled in the art as they read the following detailed description and view the enclosed figures.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a transmission control system that employs inventive embodiments described herein.

FIG. 2 is a block diagram of a yet another transmission control system incorporating inventive embodiments described herein.

FIG. 3 is a block diagram of an automatic bicycle transmission shifting system in accordance with inventive embodiments described herein.

FIG. 4 is a process flow chart of a method that can be used to generate data structures that can be used with inventive embodiments of transmission control methods and systems described herein.

FIG. 5A is an exemplary data structure that can be used with inventive embodiments of transmission control methods and systems described herein.

FIG. 5B is yet another exemplary data structure that can be used with the inventive embodiments of transmission control methods and systems described herein.

FIG. 6 is a process flow chart of an automatic transmission control method in accordance with the inventive embodiments described herein.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Preferred embodiments of the present invention will now be described with reference to the accompanying figures, wherein like numerals refer to like elements throughout. The inventive systems and methods described here can be generally used with transmissions and variators disclosed in U.S. Pat. Nos. 6,241,636; 6,419,608; 6,689,012; and 7,011,600. Likewise, the inventive systems and methods disclosed here are related to transmissions, controllers, user interfaces, and vehicles or technology applications described in U.S. patent application Ser. Nos. 11/243,484; 11/543,311; 60/887,767; 60/895,713; and 60/914,633. The entire disclosure of each of these patents and patent applications is hereby incorporated herein by reference.

With reference to FIG. 1, a transmission control system 100 for maintaining a speed input constant is described now. In one embodiment, the system 100 includes an input shaft 102 and an output shaft 104 coupled to a transmission 106, which is coupled to a transmission controller 108. The input shaft 102 has an input speed w_(i), and the output shaft 106 has an output speed w_(o). A transmission speed ratio (SR) is defined as the output speed w_(o) divided by the input speed w_(i) (or equivalently, w_(i)=w_(o)/SR). During operation of the control system 100, in certain embodiments, as the output speed w_(o) changes, the transmission controller 108 adjusts the SR to keep the input speed w_(i) at a substantially constant value, or within a predetermined band of the input speed w_(i). Thus, in one embodiment, given a desired, constant input speed w_(i), and a detected output speed w_(o) during operation, the controller 108 adjusts the transmission 104 to operate at a predetermined SR associated with the detected output speed w_(o).

The transmission 106 can be a conventional range box, gear box, planetary-gear-based transmission, traction-based transmission (such as a toroidal transmission, a ball planetary transmission, or any other continuously variable or infinitely variable transmission), or any combination thereof. The transmission controller 108 can include various integrated circuits, computer processors, logic modules, input and output interfaces, data structures, digital memory, power sources, actuators, sensors, encoders, servo mechanisms, etc. Preferably, in one embodiment, the transmission controller 108 includes a data structure that correlates vehicle output speed w_(o) to data associated with SR of the transmission 106.

Passing to FIG. 2 now, an automatic transmission control system 200 includes a speed sensor 202 coupled to a digital processor 204. A digital memory 206 is placed in communication with the digital processor 204. The digital memory 206 has stored therein one or more matrices, or tables, or maps (hereinafter “tables 208”) of output speed w_(o) correlated with SR. In some instances, a logic module 209 is placed in communication with the digital process 204; the logic module 209 is provided with suitable programming and/or algorithms to cooperate with the digital processor 204 in processing inputs and providing outputs, such as determining a SR based on a sensed output speed w_(o) and a data input associated with a desired constant input speed w_(i). In one embodiment, the system 200 includes an input device 210 coupled to the digital processor 204 to provide to the digital processor 204 a data input associated with a desired constant input speed target w_(c). In some embodiments of the system 200, an actuator 212 (or ratio adjuster mechanism) is coupled to the digital processor 204, whereby the digital processor 204 can control the actuator 212 to adjust the SR of a transmission 107, which in one instance can be a continuously variable transmission (CVT).

During operation, the speed sensor 202 provides to the digital processor 204 an indication of the output speed w_(o). The input device 210 provides to the digital processor 204 a target input speed w_(c). The digital processor 204, in cooperation with the logic module 209 and/or the tables 208, determines a SR associated with the indicated output speed w_(o) and the target input speed w_(c). The digital processor 204 then commands the actuator 212 to adjust the operating speed ratio of the transmission 107 to the determined SR. In some embodiments, the target input speed w_(c) can be substantially constant over a range of output speeds w_(o), resulting in the rider pedaling at a substantially constant cadence. In one embodiment, the input device 210 provides a map, or a selection indicative of such a map, of predetermined input speed w_(c) values associated with output speed w_(o) values.

Referencing FIG. 3 now, an automatic shifting bicycle system 300 is configured to keep a rider cadence within a narrow band of a rider selected cadence level. As used here, the term “cadence” refers to the pedaling speed of the rider (which is equivalent to the rotational speed of the bicycle cranks). In one embodiment, the bicycle system 300 includes a control unit 302 in communication with a speed sensor 304, an encoder position sensor 306, a user interface 308, a power source 310, and a reversible motor 312. In some instances, a gear reduction set 314 is coupled between the reversible motor 312 and a transmission 316. A bicycle wheel 318 and an input driver 320 are operationally coupled to the transmission 316. In some embodiments, the encoder position sensor 306 is coupled to the gear reduction set 314, and the speed sensor 304 operationally couples to the bicycle wheel 318 or to any rotating component associated therewith. The input driver 320 can be, or is operationally coupled to, a rear wheel sprocket, a chain, a front sprocket, a one-way clutch, a freewheel, etc. The power source 310 can be coupled to, or integrated with, anyone of the control unit 302, user interface 308, and motor 312. The power source 310 can be, for example, a battery, a dynamo, or any other suitable power generating or energy storing device.

In some embodiments, the control unit 302 includes a digital processor 322 that is in communication with a memory 324 and a logic module 326. The control unit 302 can additionally include a motor controller 328 that is in communication with the digital processor 322. It should be noted that the digital processor 322, memory 324, logic module 326, and the motor controller 328 need not be all integrated into one device or housed in a common housing. That is, in some embodiments, any one of the digital processor 322, memory 324, logic module 326, and motor controller 328 can be remotely located from any of the others; communication between or among them can be wired or wireless. The memory 324 is preferably provided with one more tables 330 having data that correlates values of output speed w_(o) to values of SR. In one embodiment, as illustrated in FIG. 3, values of SR are represented by values associated with encoder positions; that is, an encoder position is representative of at least one SR state of the transmission 316. As used here, the term “encoder position” refers to a state of a detector and/or a sensor that is representative of a position of a component of the transmission 316, or of an internal or external component coupled to such a component of the transmission 316. For example, in one case, the encoder position is indicative of an angular position of a gear coupled to a shift rod of the transmission 316 such that the encoder position is indicative of an angular or axial position of the shift rod.

In one embodiment, the user interface 308 includes a display 332 and one or more operation button switches 334. The display 332 can be any suitable screen, or the like, for presenting a variety of graphical and/or alphanumerical information. The operation switches 334 can include one or more buttons or manipulators configured to allow an operator to enter data, make selections, or change values, for example. In some embodiments, the operation switches 334 allow the rider to select among modes of operation (for example, automatic continuous ratio adjustment, automatic stepped ratio adjustment, manual, etc.). The operation switches 334 can be configured to allow the rider to command different cadence levels while in automatic mode, or to request a SR adjustment while in manual mode.

Still referring to FIG. 3, during operation of the automatic shifting bicycle system 300, the user can use the user interface 308 to adjust the desired cadence level while operating the bicycle on a routine ride. The control unit 302 receives the cadence input, queries the memory 324, and in cooperation with the logic module 326 selects a corresponding table 330 associated with the cadence input. Hence, during normal operation of the bicycle, the user can select from among predetermined cadence level maps (that is, tables 330) by indicating a desired cadence value. The speed sensor 304 detects the speed of the bicycle wheel 318, which in some instances involves detecting a rotational speed of some other rotating component (such as the spokes of the bicycle wheel 318) that rotates at a speed indicative of the rotational speed of the bicycle wheel 318. Based upon the indicated cadence value and the detected speed of the bicycle wheel 318, the control unit 302 identifies from the tables 330 a SR, or encoder position, associated with the sensed speed of the bicycle wheel 318. The control unit 302, in cooperation with the motor controller 328, actuates the reversible motor 312 to adjust the transmission 316 to attain a speed ratio that substantially matches the SR identified from the table 330. As the control unit 302 adjusts the SR in response to changes to the speed of the bicycle wheel 318, the cadence of the rider is controlled to stay within a band of the rider's desired cadence level. For example, in some instances, the actual cadence level of the rider during steady state operation can be maintained at the desired cadence level plus or minus 10 revolutions-per-minute (rpm), or +/−5-rpm, or less than +/−2-rpm. In some embodiments, the automatic shifting bicycle system 300 can be configured with multiple automatic modes. The modes can be predetermined to control a rider's cadence in any desired manner over a range of output speeds. For example, in one such mode, a table 330 can be provided with cadence values, output speed values, and SR values associated such that over a first range of output speeds the cadence is controlled to a certain cadence value or a specific range of cadence values, while in a second range of output speeds the cadence is controlled to yet another cadence value or yet another specific range of cadence values.

Referring to FIG. 4 now, a process 400 for generating data structures that can be used with a table 330 is described. In one embodiment, an exemplary transmission 316 is a compound variable planetary (CVP) of the ball-planetary, traction CVT type. An example of such devices is a NuVinci™ transmission. In such a transmission 316, the speed ratio between the speed of an input traction ring and the speed of an output traction ring is determined, at least in part, by a position of a shift rod. Hence, a position of an encoder of a servo mechanism can be correlated with a position of the shift rod, which effectively means that a position of the encoder is correlated with a speed ratio of the transmission 316. The process 400 starts at a state 402 after a servo mechanism having an encoder has been coupled to a transmission 316. At a state 404, an encoder position is recorded (and preferably stored in a data structure will be part of the table 330, for example). Moving to a state 406, an input speed of the transmission 316 is recorded, and at a state 408 an output speed of the transmission 316 is recorded. Passing to a state 410, a SR is calculated by dividing the output speed w_(o) by the input speed w_(i). At a state 412, the SR is recorded (and preferably stored in a data structure that will be part of the table 330).

The process 400 then moves to a decision state 414 wherein it is determined whether the end of the range of the transmission 316 has been reached. For the current purposes, it is assumed that the range of encoder positions can be coextensive with the range of speed ratios of the transmission 316. When the transmission 316 is a continuously variable transmission there is an infinite number of transmission speed ratios within a given range; however, as a practical matter, both the encoder positions and the speed ratios of the transmission 316 will be each a finite set. If the end of the range of the transmission 316 has been reached, the process 400 continues to a state 416 at which the encoder is moved to the next encoder position. The process 400 then returns to the state 404 and records the new encoder position. The process 400 then repeats until at the decision state 414 it is determined that the end of the range of the transmission 316 has been reached, in which case the process 400 ends at a state 418.

Thus, a result of the process 400 is data structures correlating encoder positions with empirically determined speed ratios of the transmission 316. For a certain class of continuously variable transmissions, the speed ratio and encoder position data can be fit to a curve generally described by SR=A*exp(B*p), wherein A and B are constants or parameters characteristic of individual devices, and p is the encoder position. For example, for an exemplary CVP, A=0.4844 and B=0.0026. The data tables 330 can incorporate the encoder position and speed ratio data generated by the process 400.

Passing to FIG. 5A, an exemplary table 330 is shown and will now be discussed. The table 330 can include a vehicle speed data structure 502 with data associated with a vehicle speed. The table 330 can additionally include an encoder position data structure 504 with data associated with an encoder position. The vehicle speed data structure 502 and the encoder position data structure 504 correspond to one another as forming columns and rows of the table 330. Given a target constant input speed, a corresponding SR can be determined and tabulated as a requested SR data structure 506. In some cases, however, a requested SR is not available because, for example, such a SR is lower than the lowest SR the transmission 316 can provide. In such cases, the requested SR data structure 506 is used to produce a possible SR data structure 508. In the example illustrated in FIG. 5, the lowest possible SR available from the transmission 316 is 0.5; consequently, all the values of the requested SR data structure 506 below 0.5 are represented in the possible SR data structure 508 as 0.5. It follows that the corresponding lowest encoder position is then associated with the lowest possible SR ratio value in the table 330. Similarly, in some cases, the requested SR is higher than the highest possible SR of the transmission 316; hence, the entries in the requested SR data structure 506 that are higher than the highest possible SR of the transmission 316 are represented by the highest SR of the transmission 316 (which in the illustrative example is 1.615).

Of course, those values in the requested SR data structure 506 that fall within the possible range of speed ratios of the transmission 316 correspond to identical entries in the possible SR data structure 508. It should be noted that, other than for values falling below and above the possible range of the transmission 316, in the table 330 there is a unique encoder position value in the encoder position data structure 505 that corresponds to a unique SR value in the possible SR data structure 508. However, a speed range (rather than a unique speed) corresponds to a given encoder position. Hence, for a wheel speed of 58-rpm and less than 60-rpm in the vehicle speed data structure 502, there corresponds only one value of encoder position (that is, 24) and one value of possible speed ratio (that is, 0.52). The illustrative table 330 includes a cadence data structure 510 having data associated with a calculated cadence (using the expression w_(i)=w_(o)/SR). The cadence structure 510 need not be part of the table 330; however, the inclusion of the cadence structure 510 in the illustrative table 330 facilitates a demonstration of how the cadence can be maintained constant (as shown by the constant value of 50 in the cadence data structure 510) over the possible range of speed ratios of the transmission 316.

FIG. 5B illustrates yet another example of a map or table 331 of output speeds to SR that yield a predetermined rider cadence. In one embodiment, the table 331 includes a vehicle speed data structure 503 having data associated with an output, or vehicle, speed. The table 331 additionally includes an encoder position data structure 505 with data associated with an encoder position. The vehicle speed data structure 503 and the encoder position data structure 505 correspond to one another as forming columns and rows of the table 331. Given a desired, predetermined map of target input speeds, a possible SR data structure 509 is produced. A cadence data structure 511, which need not be part of the table 331, illustrates how the cadence is controlled over the range of vehicle speeds associated with the vehicle speed data structure 503. As can be seen in FIG. 5B, the cadence is allowed to rise to a first level (that is, 74.7-rpm), the SR is adjusted to 0.9 from 0.6, as the output speed changes from 0 to 100-rpm. The cadence drops to 51.1-rpm and is allowed to rise to 74.7-rpm again before at an output speed of 153-rpm the SR is adjusted from 0.9 to 1.4, at which the cadence drops to 48.8. As the output speed increases to 200-rpm, the cadence rises to 64-rpm, and the SR remains constant at 1.4. This is an example of automatically controlling a transmission such that the cadence is controlled relative to a three-speed ratio shifting scheme. Of course, similar maps can be provided for other automatic modes, such as 4-, 5-, 6-, 8-, or 9-speed, for example. In addition, the cadence ranges can be adjusted by moving shift events via the mapping, such as a range of 65-rpm to 90-rpm instead of 50-rpm to 75-rpm, for a given vehicle speed or range of vehicle speeds, for example. In some embodiments, the maps can have any desired relationship (for example, linear, exponential, inverse, etc.) between output speed and cadence.

Turning to FIG. 6, it will be described now a process 600 for controlling a transmission 316 so that a rider cadence is controlled to be within a band of a rider selected cadence level. The process 600 starts at a state 602 after a bicycle automatic shifting system 300, for example, has been turned on and initialized. The process 600 continues to a state 604 and receives an indication of a target constant cadence level. In one embodiment, the rider uses the user interface 308 to provide the target constant cadence level. The process 600 moves next to a state 606 where a speed of the bicycle is determined. In one embodiment, the speed sensor 304 detects the speed of the bicycle wheel 318. However, in other embodiments, the speed of the bicycle can be determined by measuring and/or sensing other characteristics or components of the bicycle, such as detecting a voltage, resistance, or current level on a dynamo (not shown) coupled to the bicycle wheel 318. The process 600 then continues to a state 608 wherein an encoder position associated with a bicycle speed and a target cadence is determined or identified. In one embodiment, the digital processor 322 cooperates with the memory 324 and the logic module 326 to query a table 330 and thereby select an encoder position that is correlated with a bicycle speed and a target cadence. At a state 610 of the process 600, an actuator is commanded to move to a position associated with the selected encoder position of state 608. In some embodiments, at a decision state 612 of the process 600, it is determined whether the process 600 should exit and end at a state 614 or loop back to the state 604 to receive a target cadence input. At the state 604, the process 600 can query whether the rider has commanded a new cadence level; if not, the process 600 continues using the cadence level initially entered. In one embodiment, the rider does not set the cadence level initially, but rather the control unit 302 is configured to use a default cadence level, such as 70-rpm for example. In yet other embodiments, a cadence-versus-output speed map (rather than a specific cadence value) can be provided to the process at the state 604. As previously discussed, such a map can include any kind of mapping associating cadence, output speed, and corresponding SR. At the state 614 of the process 600, the decision to exit can be based on a power off condition, a mode change command, or the like. For example, if the rider changes the mode from automatic mode to manual mode, the process 600 detects the new condition and exits at the state 614.

Those of skill will recognize that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein, including with reference to the automatic shifting bicycle system 300 may be implemented as electronic hardware, software stored on a computer readable medium and executable by a processor, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention. For example, various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Software associated with such modules may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other suitable form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. For example, in one embodiment, the control unit 302 comprises a processor (not shown). The processor of the control unit 302 may also be configured to perform the functions described herein with reference to one or both of the motor controller 328 and the user interface 308.

The foregoing description details certain preferred embodiments of the present invention and describes the best mode contemplated. It will be appreciated, however, that no matter how detailed the foregoing appears in text, the invention can be practiced in many ways. The scope of the present invention should therefore be construed only in accordance with the appended claims and any equivalents thereof. 

What is claimed is:
 1. A method of automatically controlling a continuously variable transmission (CVT) of a bicycle comprising an electronic controller in communication with a data input interface, a speed sensor for determining a speed of the bicycle, a sensor for determining user pedaling speed, and an actuator, the electronic controller configured to receive a first input associated with a target user pedaling speed from the data input interface and a second input associated with a speed of the bicycle from the speed sensor, the method comprising the steps of: receiving a third input associated with a present user pedaling speed; and determining one of a first map that identifies a target CVT ratio based on bicycle speed and the target user pedaling speed when a user cadence is non-zero and a second map that identifies a target CVT ratio based on bicycle speed when a target user pedaling speed is zero.
 2. The method of claim 1, further comprising identifying a target CVT ratio for one of the first map and the second map, wherein identifying the target CVT ratio comprises determining an actuator position based on the speed of the bicycle or the target user pedaling speed and the speed of the bicycle.
 3. The method of claim 2, wherein determining the actuator position comprises determining an encoder position value from an encoder position data structure.
 4. The method of claim 3, wherein identifying the target CVT ratio comprises determining a unique speed ratio (SR).
 5. The method of claim 1, wherein power is supplied to the electronic controller via a dynamo.
 6. The method of claim 1, wherein the speed of the bicycle is determined from a wheel speed.
 7. The method of claim 1, wherein the data input interface is mounted on the bicycle.
 8. A computer program product for automatically controlling a continuously variable transmission (CVT) of a bicycle having an electronic controller in communication with a data input interface, a speed sensor for determining a speed of the bicycle, a sensor for determining user pedaling speed, and an actuator, the computer program product comprising a set of instructions executable by the electronic controller to perform: storing a set of maps correlating speed ratios with bicycle speeds and user pedaling speeds determined by the sensor, wherein at least one map in the set of maps correlates speed ratios with bicycle speeds when the user pedaling speed is zero; receiving a first input associated with a target user pedaling speed from the data input interface; receiving a second input associated with the speed of the bicycle from the speed sensor; and receiving a third input associated with a present user pedaling speed; and determining a map in the set of maps based on the present user pedaling speed and the speed of the bicycle.
 9. The computer program product of claim 8, wherein the set of maps correlates speed ratios with actuator positions, each actuator position corresponding to one of a speed ratio and a range of speed ratios.
 10. The computer program product of claim 9, wherein the computer program product comprises a set of instructions executable by the electronic controller to perform adjusting a speed ratio of the CVT, and wherein adjusting the speed ratio of the CVT comprises commanding the actuator to move to an encoder position.
 11. A bicycle having a continuously variable transmission (CVT) controllable by an electronic controller in communication with a data input interface, a speed sensor for determining a speed of the bicycle, a sensor for determining user pedaling speed, and an actuator, wherein the electronic controller is configured to: store a set of maps correlating speed ratios with bicycle speeds and user pedaling speeds, wherein at least one map in the set of maps correlates speed ratios with bicycle speeds when the user pedaling speed is zero; receive a first input associated with a target user pedaling speed from the data input interface; receive a second input associated with a speed of the bicycle from the speed sensor; receive a third input associated with a present user pedaling speed; and determine a map in the set of maps based on the present user pedaling speed and the speed of the bicycle; and adjust the CVT to a target transmission ratio based on the determined map.
 12. The bicycle of claim 11, wherein determining the map comprises identifying a target transmission ratio, and wherein identifying the target transmission ratio comprises determining an actuator position based on the speed of the bicycle or the target user pedaling speed and the speed of the bicycle.
 13. The bicycle of claim 12, wherein the set of maps includes a first set of maps correlating speed ratios with bicycle speeds and user pedaling speeds and a second set of maps correlating actuator positions and speed ratios.
 14. The bicycle of claim 12, wherein the set of maps includes a first set of maps correlating speed ratios with bicycle speeds and user pedaling speeds and a second set of maps correlating encoder positions and speed ratios.
 15. The bicycle of claim 12, wherein the set of maps includes a first set of maps correlating speed ratios with bicycle speeds and user pedaling speeds and a second set of maps correlating encoder positions and actuator positions.
 16. The bicycle of claim 11, wherein determining the map comprises determining a target transmission ratio, and wherein determining the target transmission ratio comprises determining a unique speed ratio (SR).
 17. The bicycle of claim 11, wherein power is supplied to the electronic controller via a dynamo.
 18. The bicycle of claim 11, wherein the speed of the bicycle is determined from a wheel speed.
 19. The bicycle of claim 11, wherein the data input interface is mounted on the bicycle. 